import type { Router, RouteLocationNormalized } from "vue-router";

// 权限检查函数

function setupPageGuard(router: Router) {
  router.beforeEach((to, from, next) => {
    const token = localStorage.getItem('token');
    // 情况2：已登录但访问 /login，跳转到主界面
    if (to.path == '/login' && token) {
      next('/home'); // 或 next('/home')，取决于你的路由结构
    } 
    // 情况3：未登录但访问需鉴权的页面，跳登录页
    else if (to.meta.requiresAuth && !token) {
      next('/login');
    } 
    // 其他情况正常放行
    else {
      next();
    }
    // 情况1：用户刷新页面（from.name 为 undefined）
    if (!from.name && token) {
      next(); // ✅ 保持当前页面，不跳转
      return;
    }
  });
  
}

export default function createRouteGuard(router: Router) {
  setupPageGuard(router);
}
